package io.netty.example.fep.netty;

import io.netty.example.fep.netty.common.FepProtocolMsg;
import io.netty.example.fep.netty.server.ServerHandler;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

/**
 * Description：
 *  服务端自定义消息处理器
 * @author : chenjie03@imdada.cn
 * Date: 2020/5/27
 * Time: 13:33
 */
public class MyServerHandler implements ServerHandler {

    private Logger logger = LoggerFactory.getLogger(this.getClass());

    public static MyServerHandler INSTANCE = new MyServerHandler();

    private MyServerHandler() {
    }

    /**
     * 服务端-心跳处理器
     *
     * @param message 消息体
     */
    @Override
    public void activeHandler(FepProtocolMsg message) {
        logger.info("==========客户端注册心跳了==========");
    }

    /**
     * 服务端-心跳失连处理器
     *
     * @param channelId 失连通道ID
     */
    @Override
    public void lostHandler(String channelId) {
        logger.info("==========客户端心跳丢失了==========");
    }

    /**
     * 服务端-远程查询处理器
     *
     * @param message 消息体
     */
    @Override
    public void queryHandler(FepProtocolMsg message) {
        logger.info("==========客户端回传查询结果==========");
    }

    /**
     * 服务端-远程上报日志处理器
     *
     * @param message 消息体
     */
    @Override
    public void logHandler(FepProtocolMsg message) {
        logger.info("==========客户端上报远程日志==========");
    }

    /**
     * 服务端-远程报警处理器
     *
     * @param message 消息体
     */
    @Override
    public void alarmHandler(FepProtocolMsg message) {
        logger.info("==========客户端有报警信息==========");
    }

    /**
     * 服务端-远程监控处理器
     *
     * @param message 消息体
     */
    @Override
    public void monitorHandler(FepProtocolMsg message) {
        logger.info("==========客户端汇报运行时信息==========");
    }

    /**
     * 服务端-其他消息处理器
     *
     * @param message 消息体
     */
    @Override
    public void otherHandler(FepProtocolMsg message) {

    }
}
